package cn.hbads.version.annotation;

import cn.hbads.version.provider.ValueTranslator;

import java.lang.annotation.*;

/**
 * <b>标注在List类型数据版本的业务字段，将会展示其add\remove\orderChanged</b>
 *
 * @author yvvb
 * @date 2025/5/5
 */
@Documented
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface ListVersion {
    String orderChangeMessage() default "Element‘s order changed";

    String addElementShowName() default "Add element";

    String removeElementShowName() default "Remove element";

    Class<? extends ValueTranslator> translatorClass() default ValueTranslator.class;

    String separator() default ",";

    int showOrder() default Integer.MAX_VALUE;
}
